
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using T.FAS.Runtime.Metadata.Entity.DataModel; 
using T.FAS.Runtime.Metadata.Entity;
using T.FAS.Runtime.Base.Entity;

namespace T.FAS.Runtime.DataAccess.UnitTest
{
    [TestClass]
    public class CDO_ClusterNodeHostModelBuilder
    {
        // {outer_join_CDOs}

        /// <summary>
        /// 测试数据库_MSSQL数据库
        /// </summary>
        /// <returns>测试数据库_MSSQL数据库</returns>
        public Database CreateTMaster_MSSQLDatabase()
        {
            var database = new Database()
            {
                ID = "1d88e4b8ff88971f7031fc2b0991738c",
                Code = "TMaster",
                Name = "测试数据库",
                DbType = "SQLServer",
                PersonInCharge = "",
            };

            database.DatabaseConfigs = new List<DatabaseConfig>
             {
                    new DatabaseConfig
                    {
                        DatabaseID = database.ID,
                        ConfigKey = "FAS.Database.TestDB.ConnectionString",
                        ConfigName = "TMaster_MSSQL连接字符串",
                        Mode = 1, //1：读写串 0：只读串
                        Sort = 1,
                        IsDefault = true
                    }
             };

            return database;
        }
         
        private DataObject do_applicationclusterDataObject;
        /// <summary>
        /// 获取【应用集群】数据对象
        /// </summary>
        public DataObject DO_ApplicationClusterDataObject
        {
            get
            {
                if (do_applicationclusterDataObject == null)
                    do_applicationclusterDataObject = CreateDO_ApplicationClusterDataObject();

                return do_applicationclusterDataObject;
            }
        }


        /// <summary>
        /// 构建ACM_ApplicationCluster DataObject对象
        /// </summary>
        /// <returns></returns>
        private DataObject CreateDO_ApplicationClusterDataObject()
        {
            var dataObject = new DataObject
            {
                ID = "DO_TMaster_MSSQL_ACM_ApplicationCluster".GetMD5Hash(),
                Code = "DO_ApplicationCluster",
                Name = "应用集群",
                LogicTableName = "ACM_ApplicationCluster",
                DatabaseID = "1d88e4b8ff88971f7031fc2b0991738c",
                Database = CreateTMaster_MSSQLDatabase(),
            };

            #region Columns

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_ClusterType".GetMD5Hash(),
                ColumnName = "ClusterType",
                DisplayName = "ClusterType",
                Description = "外键关联字段",
                DataType = "DO_ClusterType",
                ApplicationDataType = "{app_data_type}",
                IsRefDataObject = true,
                RelatedDataObjectID = "347eeeb5fb2821b2ee1672099875a778",
                Length = 36,
                Precision = 0,
                DefaultValue = "{default_value}",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = true,
                ColumnOrder = 99,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_ID".GetMD5Hash(),
                ColumnName = "ID",
                DisplayName = "ID",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 36,
                Precision = 0,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = true,
                IsFkColumn = false,
                ColumnOrder = 0,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_Code".GetMD5Hash(),
                ColumnName = "Code",
                DisplayName = "Code",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 1,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_Name".GetMD5Hash(),
                ColumnName = "Name",
                DisplayName = "Name",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 512,
                Precision = 0,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 2,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_Owner".GetMD5Hash(),
                ColumnName = "Owner",
                DisplayName = "Owner",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 36,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 3,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_AppID".GetMD5Hash(),
                ColumnName = "AppID",
                DisplayName = "AppID",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 36,
                Precision = 0,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 4,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_IsEnable".GetMD5Hash(),
                ColumnName = "IsEnable",
                DisplayName = "IsEnable",
                Description = "",
                DataType = "Int",
                ApplicationDataType = "Int",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 10,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 5,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_IsVirtual".GetMD5Hash(),
                ColumnName = "IsVirtual",
                DisplayName = "IsVirtual",
                Description = "",
                DataType = "Int",
                ApplicationDataType = "Int",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 10,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 6,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_Ext1".GetMD5Hash(),
                ColumnName = "Ext1",
                DisplayName = "Ext1",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 7,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_Ext2".GetMD5Hash(),
                ColumnName = "Ext2",
                DisplayName = "Ext2",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 8,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_Ext3".GetMD5Hash(),
                ColumnName = "Ext3",
                DisplayName = "Ext3",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 9,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_Creator".GetMD5Hash(),
                ColumnName = "Creator",
                DisplayName = "Creator",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 10,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_CreateTime".GetMD5Hash(),
                ColumnName = "CreateTime",
                DisplayName = "CreateTime",
                Description = "",
                DataType = "DateTime",
                ApplicationDataType = "Datetime",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 3,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 11,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_LastModifier".GetMD5Hash(),
                ColumnName = "LastModifier",
                DisplayName = "LastModifier",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 12,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_LastModifyTime".GetMD5Hash(),
                ColumnName = "LastModifyTime",
                DisplayName = "LastModifyTime",
                Description = "",
                DataType = "DateTime",
                ApplicationDataType = "Datetime",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 3,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 13,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_ServiceSetID".GetMD5Hash(),
                ColumnName = "ServiceSetID",
                DisplayName = "ServiceSetID",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 14,
                EnableUnicode = true,
            });

            #endregion

            #region Relation

            dataObject.DataObjectRelations.Add(new DataObjectRelation()
            {
                ID = Guid.NewGuid().ToString(),
                FromDoID = "347eeeb5fb2821b2ee1672099875a778",
                FromColumnID = "c1d1db69a145d96a959f7e40e79df20d",
                ToDoID = "08e0bf916af6057ddd3d606f49d07d0b",
                ToColumnID = "3931947378f3c1086bbaba62363765e5",
                RelationType = 0,   //关联类型 0:一对多 1:一对一
                DeleteRule = 0,      //删除规则:0:ignore; 1:delete; 2:protected
            });

            #endregion
            return dataObject;
        }

        private DataObject do_applicationnodeDataObject;
        /// <summary>
        /// 获取【应用节点】数据对象
        /// </summary>
        public DataObject DO_ApplicationNodeDataObject
        {
            get
            {
                if (do_applicationnodeDataObject == null)
                    do_applicationnodeDataObject = CreateDO_ApplicationNodeDataObject();

                return do_applicationnodeDataObject;
            }
        }


        /// <summary>
        /// 构建ACM_ApplicationNode DataObject对象
        /// </summary>
        /// <returns></returns>
        private DataObject CreateDO_ApplicationNodeDataObject()
        {
            var dataObject = new DataObject
            {
                ID = "DO_TMaster_MSSQL_ACM_ApplicationNode".GetMD5Hash(),
                Code = "DO_ApplicationNode",
                Name = "应用节点",
                LogicTableName = "ACM_ApplicationNode",
                DatabaseID = "1d88e4b8ff88971f7031fc2b0991738c",
            };

            #region Columns

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationNode_ClusterID".GetMD5Hash(),
                ColumnName = "ClusterID",
                DisplayName = "ClusterID",
                Description = "外键关联字段",
                DataType = "DO_ApplicationCluster",
                ApplicationDataType = "{app_data_type}",
                IsRefDataObject = true,
                RelatedDataObjectID = "08e0bf916af6057ddd3d606f49d07d0b",
                Length = 36,
                Precision = 0,
                DefaultValue = "{default_value}",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = true,
                ColumnOrder = 99,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationNode_ResourceID".GetMD5Hash(),
                ColumnName = "ResourceID",
                DisplayName = "ResourceID",
                Description = "外键关联字段",
                DataType = "DO_Machine",
                ApplicationDataType = "{app_data_type}",
                IsRefDataObject = true,
                RelatedDataObjectID = "9da0c5496a82f7abb3db1af217aef44d",
                Length = 36,
                Precision = 0,
                DefaultValue = "{default_value}",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = true,
                ColumnOrder = 99,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationNode_ID".GetMD5Hash(),
                ColumnName = "ID",
                DisplayName = "ID",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 36,
                Precision = 0,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = true,
                IsFkColumn = false,
                ColumnOrder = 0,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationNode_Code".GetMD5Hash(),
                ColumnName = "Code",
                DisplayName = "Code",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 1,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationNode_Name".GetMD5Hash(),
                ColumnName = "Name",
                DisplayName = "Name",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 512,
                Precision = 0,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 2,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationNode_Owner".GetMD5Hash(),
                ColumnName = "Owner",
                DisplayName = "Owner",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 36,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 3,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationNode_IsEnable".GetMD5Hash(),
                ColumnName = "IsEnable",
                DisplayName = "IsEnable",
                Description = "",
                DataType = "Int",
                ApplicationDataType = "Int",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 10,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 4,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationNode_IsVirtual".GetMD5Hash(),
                ColumnName = "IsVirtual",
                DisplayName = "IsVirtual",
                Description = "",
                DataType = "Int",
                ApplicationDataType = "Int",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 10,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 5,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationNode_Ext1".GetMD5Hash(),
                ColumnName = "Ext1",
                DisplayName = "Ext1",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 6,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationNode_Ext2".GetMD5Hash(),
                ColumnName = "Ext2",
                DisplayName = "Ext2",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 7,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationNode_Ext3".GetMD5Hash(),
                ColumnName = "Ext3",
                DisplayName = "Ext3",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 8,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationNode_Creator".GetMD5Hash(),
                ColumnName = "Creator",
                DisplayName = "Creator",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 9,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationNode_CreateTime".GetMD5Hash(),
                ColumnName = "CreateTime",
                DisplayName = "CreateTime",
                Description = "",
                DataType = "DateTime",
                ApplicationDataType = "Datetime",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 3,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 10,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationNode_LastModifier".GetMD5Hash(),
                ColumnName = "LastModifier",
                DisplayName = "LastModifier",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 11,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationNode_LastModifyTime".GetMD5Hash(),
                ColumnName = "LastModifyTime",
                DisplayName = "LastModifyTime",
                Description = "",
                DataType = "DateTime",
                ApplicationDataType = "Datetime",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 3,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 12,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationNode_ServiceSetId".GetMD5Hash(),
                ColumnName = "ServiceSetId",
                DisplayName = "ServiceSetId",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 13,
                EnableUnicode = true,
            });

            #endregion

            #region Relation

            dataObject.DataObjectRelations.Add(new DataObjectRelation()
            {
                ID = Guid.NewGuid().ToString(),
                FromDoID = "08e0bf916af6057ddd3d606f49d07d0b",
                FromColumnID = "8ee74890b533fb2ca0b4401a195ace67",
                ToDoID = "54bf03ab47c111880c7e7dda941e9701",
                ToColumnID = "8d96f8f735467bc786a2e5fa3a872fe3",
                RelationType = 0,   //关联类型 0:一对多 1:一对一
                DeleteRule = 0,      //删除规则:0:ignore; 1:delete; 2:protected
            });

            dataObject.DataObjectRelations.Add(new DataObjectRelation()
            {
                ID = Guid.NewGuid().ToString(),
                FromDoID = "9da0c5496a82f7abb3db1af217aef44d",
                FromColumnID = "25f8df017e208b865328053ee52cdc94",
                ToDoID = "54bf03ab47c111880c7e7dda941e9701",
                ToColumnID = "c48513a3c46abcafe3b5d325c01d8ed4",
                RelationType = 0,   //关联类型 0:一对多 1:一对一
                DeleteRule = 0,      //删除规则:0:ignore; 1:delete; 2:protected
            });

            #endregion
            return dataObject;
        }

        private DataObject do_applicationhostDataObject;
        /// <summary>
        /// 获取【应用进程】数据对象
        /// </summary>
        public DataObject DO_ApplicationHostDataObject
        {
            get
            {
                if (do_applicationhostDataObject == null)
                    do_applicationhostDataObject = CreateDO_ApplicationHostDataObject();

                return do_applicationhostDataObject;
            }
        }


        /// <summary>
        /// 构建ACM_ApplicationHost DataObject对象
        /// </summary>
        /// <returns></returns>
        private DataObject CreateDO_ApplicationHostDataObject()
        {
            var dataObject = new DataObject
            {
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost".GetMD5Hash(),
                Code = "DO_ApplicationHost",
                Name = "应用进程",
                LogicTableName = "ACM_ApplicationHost",
                DatabaseID = "1d88e4b8ff88971f7031fc2b0991738c",
            };

            #region Columns

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_NodeID".GetMD5Hash(),
                ColumnName = "NodeID",
                DisplayName = "NodeID",
                Description = "外键关联字段",
                DataType = "DO_ApplicationNode",
                ApplicationDataType = "{app_data_type}",
                IsRefDataObject = true,
                RelatedDataObjectID = "54bf03ab47c111880c7e7dda941e9701",
                Length = 36,
                Precision = 0,
                DefaultValue = "{default_value}",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = true,
                ColumnOrder = 99,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_ApplicationID".GetMD5Hash(),
                ColumnName = "ApplicationID",
                DisplayName = "ApplicationID",
                Description = "外键关联字段",
                DataType = "DO_Program",
                ApplicationDataType = "{app_data_type}",
                IsRefDataObject = true,
                RelatedDataObjectID = "5c8a1a93d9bcb3a9c2ec3a921738670a",
                Length = 36,
                Precision = 0,
                DefaultValue = "{default_value}",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = true,
                ColumnOrder = 99,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_ID".GetMD5Hash(),
                ColumnName = "ID",
                DisplayName = "ID",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 36,
                Precision = 0,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = true,
                IsFkColumn = false,
                ColumnOrder = 0,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_Code".GetMD5Hash(),
                ColumnName = "Code",
                DisplayName = "Code",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 1,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_Name".GetMD5Hash(),
                ColumnName = "Name",
                DisplayName = "Name",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 512,
                Precision = 0,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 2,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_ClusterID".GetMD5Hash(),
                ColumnName = "ClusterID",
                DisplayName = "ClusterID",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 36,
                Precision = 0,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 3,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_IsEnableWhiteList".GetMD5Hash(),
                ColumnName = "IsEnableWhiteList",
                DisplayName = "IsEnableWhiteList",
                Description = "",
                DataType = "Int",
                ApplicationDataType = "Int",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 10,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 4,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_WhiteList".GetMD5Hash(),
                ColumnName = "WhiteList",
                DisplayName = "WhiteList",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 2000,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 5,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_LBWeight".GetMD5Hash(),
                ColumnName = "LBWeight",
                DisplayName = "LBWeight",
                Description = "",
                DataType = "Int",
                ApplicationDataType = "Int",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 10,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 6,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_IsEnable".GetMD5Hash(),
                ColumnName = "IsEnable",
                DisplayName = "IsEnable",
                Description = "",
                DataType = "Int",
                ApplicationDataType = "Int",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 10,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 7,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_Owner".GetMD5Hash(),
                ColumnName = "Owner",
                DisplayName = "Owner",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 36,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 8,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_Port".GetMD5Hash(),
                ColumnName = "Port",
                DisplayName = "Port",
                Description = "",
                DataType = "Int",
                ApplicationDataType = "Int",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 10,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 9,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_HostIPAddress".GetMD5Hash(),
                ColumnName = "HostIPAddress",
                DisplayName = "HostIPAddress",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 10,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_Ext1".GetMD5Hash(),
                ColumnName = "Ext1",
                DisplayName = "Ext1",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 11,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_Ext2".GetMD5Hash(),
                ColumnName = "Ext2",
                DisplayName = "Ext2",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 12,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_Ext3".GetMD5Hash(),
                ColumnName = "Ext3",
                DisplayName = "Ext3",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 13,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_Creator".GetMD5Hash(),
                ColumnName = "Creator",
                DisplayName = "Creator",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 14,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_CreateTime".GetMD5Hash(),
                ColumnName = "CreateTime",
                DisplayName = "CreateTime",
                Description = "",
                DataType = "DateTime",
                ApplicationDataType = "Datetime",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 3,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 15,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_LastModifier".GetMD5Hash(),
                ColumnName = "LastModifier",
                DisplayName = "LastModifier",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 16,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_LastModifyTime".GetMD5Hash(),
                ColumnName = "LastModifyTime",
                DisplayName = "LastModifyTime",
                Description = "",
                DataType = "DateTime",
                ApplicationDataType = "Datetime",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 3,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 17,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_PhysicalPath".GetMD5Hash(),
                ColumnName = "PhysicalPath",
                DisplayName = "PhysicalPath",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 18,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_SiteName".GetMD5Hash(),
                ColumnName = "SiteName",
                DisplayName = "SiteName",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 19,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_ApplicationPool".GetMD5Hash(),
                ColumnName = "ApplicationPool",
                DisplayName = "ApplicationPool",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 20,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationHost_AutoRun".GetMD5Hash(),
                ColumnName = "AutoRun",
                DisplayName = "AutoRun",
                Description = "",
                DataType = "Int",
                ApplicationDataType = "Int",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 10,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 21,
                EnableUnicode = true,
            });

            #endregion

            #region Relation

            dataObject.DataObjectRelations.Add(new DataObjectRelation()
            {
                ID = Guid.NewGuid().ToString(),
                FromDoID = "54bf03ab47c111880c7e7dda941e9701",
                FromColumnID = "a242c6d3286baf0d9f86f98daacf569b",
                ToDoID = "dd35078935f3efe03a18085cdc0266f7",
                ToColumnID = "a6701cae6f47070d8c0c010d17859abc",
                RelationType = 0,   //关联类型 0:一对多 1:一对一
                DeleteRule = 0,      //删除规则:0:ignore; 1:delete; 2:protected
            });

            dataObject.DataObjectRelations.Add(new DataObjectRelation()
            {
                ID = Guid.NewGuid().ToString(),
                FromDoID = "5c8a1a93d9bcb3a9c2ec3a921738670a",
                FromColumnID = "bbeaed5412b6fe6a1cfb55931c41a916",
                ToDoID = "dd35078935f3efe03a18085cdc0266f7",
                ToColumnID = "b2b8db4164b9c1add4041dfafb50d8bd",
                RelationType = 0,   //关联类型 0:一对多 1:一对一
                DeleteRule = 0,      //删除规则:0:ignore; 1:delete; 2:protected
            });

            #endregion
            return dataObject;
        }

        private DataObject do_clustertypeDataObject;
        /// <summary>
        /// 获取【DO_ClusterType】数据对象
        /// </summary>
        public DataObject DO_ClusterTypeDataObject
        {
            get
            {
                if (do_clustertypeDataObject == null)
                    do_clustertypeDataObject = CreateDO_ClusterTypeDataObject();

                return do_clustertypeDataObject;
            }
        }


        /// <summary>
        /// 构建ACM_ApplicationClusterType DataObject对象
        /// </summary>
        /// <returns></returns>
        private DataObject CreateDO_ClusterTypeDataObject()
        {
            var dataObject = new DataObject
            {
                ID = "DO_TMaster_MSSQL_ACM_ApplicationClusterType".GetMD5Hash(),
                Code = "DO_ClusterType",
                Name = "DO_ClusterType",
                LogicTableName = "ACM_ApplicationClusterType",
                DatabaseID = "1d88e4b8ff88971f7031fc2b0991738c",
            };

            #region Columns

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationClusterType_ID".GetMD5Hash(),
                ColumnName = "ID",
                DisplayName = "ID",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 36,
                Precision = 0,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = true,
                IsFkColumn = false,
                ColumnOrder = 0,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationClusterType_Name".GetMD5Hash(),
                ColumnName = "Name",
                DisplayName = "Name",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 512,
                Precision = 0,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 1,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationClusterType_Owner".GetMD5Hash(),
                ColumnName = "Owner",
                DisplayName = "Owner",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 36,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 2,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationClusterType_AppID".GetMD5Hash(),
                ColumnName = "AppID",
                DisplayName = "AppID",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 36,
                Precision = 0,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 3,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationClusterType_IsEnable".GetMD5Hash(),
                ColumnName = "IsEnable",
                DisplayName = "IsEnable",
                Description = "",
                DataType = "Int",
                ApplicationDataType = "Int",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 10,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 4,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationClusterType_Descriptions".GetMD5Hash(),
                ColumnName = "Descriptions",
                DisplayName = "Descriptions",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 512,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 5,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationClusterType_Ext1".GetMD5Hash(),
                ColumnName = "Ext1",
                DisplayName = "Ext1",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 6,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationClusterType_Ext2".GetMD5Hash(),
                ColumnName = "Ext2",
                DisplayName = "Ext2",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 7,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationClusterType_Ext3".GetMD5Hash(),
                ColumnName = "Ext3",
                DisplayName = "Ext3",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 8,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationClusterType_Creator".GetMD5Hash(),
                ColumnName = "Creator",
                DisplayName = "Creator",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 9,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationClusterType_CreateTime".GetMD5Hash(),
                ColumnName = "CreateTime",
                DisplayName = "CreateTime",
                Description = "",
                DataType = "DateTime",
                ApplicationDataType = "Datetime",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 3,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 10,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationClusterType_LastModifier".GetMD5Hash(),
                ColumnName = "LastModifier",
                DisplayName = "LastModifier",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 11,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationClusterType_LastModifyTime".GetMD5Hash(),
                ColumnName = "LastModifyTime",
                DisplayName = "LastModifyTime",
                Description = "",
                DataType = "DateTime",
                ApplicationDataType = "Datetime",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 3,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 12,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationClusterType_DeployLocation".GetMD5Hash(),
                ColumnName = "DeployLocation",
                DisplayName = "DeployLocation",
                Description = "",
                DataType = "Int",
                ApplicationDataType = "Int",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 10,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 13,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_ACM_ApplicationClusterType_IsStandardProduct".GetMD5Hash(),
                ColumnName = "IsStandardProduct",
                DisplayName = "IsStandardProduct",
                Description = "",
                DataType = "Int",
                ApplicationDataType = "Int",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 10,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 14,
                EnableUnicode = true,
            });

            #endregion

            #region Relation

            #endregion
            return dataObject;
        }

        private DataObject do_machineDataObject;
        /// <summary>
        /// 获取【DO_Machine】数据对象
        /// </summary>
        public DataObject DO_MachineDataObject
        {
            get
            {
                if (do_machineDataObject == null)
                    do_machineDataObject = CreateDO_MachineDataObject();

                return do_machineDataObject;
            }
        }


        /// <summary>
        /// 构建acm_servermachine DataObject对象
        /// </summary>
        /// <returns></returns>
        private DataObject CreateDO_MachineDataObject()
        {
            var dataObject = new DataObject
            {
                ID = "DO_TMaster_MSSQL_acm_servermachine".GetMD5Hash(),
                Code = "DO_Machine",
                Name = "DO_Machine",
                LogicTableName = "acm_servermachine",
                DatabaseID = "1d88e4b8ff88971f7031fc2b0991738c",
            };

            #region Columns

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_ID".GetMD5Hash(),
                ColumnName = "ID",
                DisplayName = "ID",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 36,
                Precision = 0,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = true,
                IsFkColumn = false,
                ColumnOrder = 0,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_Name".GetMD5Hash(),
                ColumnName = "Name",
                DisplayName = "Name",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 1,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_IsVM".GetMD5Hash(),
                ColumnName = "IsVM",
                DisplayName = "IsVM",
                Description = "",
                DataType = "Int",
                ApplicationDataType = "Int",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 10,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 2,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_HostName".GetMD5Hash(),
                ColumnName = "HostName",
                DisplayName = "HostName",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 3,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_AdminUserName".GetMD5Hash(),
                ColumnName = "AdminUserName",
                DisplayName = "AdminUserName",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 4,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_AdminPassword".GetMD5Hash(),
                ColumnName = "AdminPassword",
                DisplayName = "AdminPassword",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 5,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_RoleID".GetMD5Hash(),
                ColumnName = "RoleID",
                DisplayName = "RoleID",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 36,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 6,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_OSVersion".GetMD5Hash(),
                ColumnName = "OSVersion",
                DisplayName = "OSVersion",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 7,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_MiddleWareVersion".GetMD5Hash(),
                ColumnName = "MiddleWareVersion",
                DisplayName = "MiddleWareVersion",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 8,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_InternalIPAddress".GetMD5Hash(),
                ColumnName = "InternalIPAddress",
                DisplayName = "InternalIPAddress",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 9,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_PublicIPAddress".GetMD5Hash(),
                ColumnName = "PublicIPAddress",
                DisplayName = "PublicIPAddress",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 10,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_IPAddress3".GetMD5Hash(),
                ColumnName = "IPAddress3",
                DisplayName = "IPAddress3",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 11,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_IPAddress4".GetMD5Hash(),
                ColumnName = "IPAddress4",
                DisplayName = "IPAddress4",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 12,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_IPAddress5".GetMD5Hash(),
                ColumnName = "IPAddress5",
                DisplayName = "IPAddress5",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 13,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_IPAddress6".GetMD5Hash(),
                ColumnName = "IPAddress6",
                DisplayName = "IPAddress6",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 14,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_IPAddress7".GetMD5Hash(),
                ColumnName = "IPAddress7",
                DisplayName = "IPAddress7",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 15,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_IPAddress8".GetMD5Hash(),
                ColumnName = "IPAddress8",
                DisplayName = "IPAddress8",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 16,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_ConfigLevel".GetMD5Hash(),
                ColumnName = "ConfigLevel",
                DisplayName = "ConfigLevel",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 16,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 17,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_Location".GetMD5Hash(),
                ColumnName = "Location",
                DisplayName = "Location",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 18,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_NetWorkID".GetMD5Hash(),
                ColumnName = "NetWorkID",
                DisplayName = "NetWorkID",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 36,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 19,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_RunStatus".GetMD5Hash(),
                ColumnName = "RunStatus",
                DisplayName = "RunStatus",
                Description = "",
                DataType = "Int",
                ApplicationDataType = "Int",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 10,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 20,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_IsEnable".GetMD5Hash(),
                ColumnName = "IsEnable",
                DisplayName = "IsEnable",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 5,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 21,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_Ext1".GetMD5Hash(),
                ColumnName = "Ext1",
                DisplayName = "Ext1",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 22,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_Ext2".GetMD5Hash(),
                ColumnName = "Ext2",
                DisplayName = "Ext2",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 23,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_Ext3".GetMD5Hash(),
                ColumnName = "Ext3",
                DisplayName = "Ext3",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 24,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_Creator".GetMD5Hash(),
                ColumnName = "Creator",
                DisplayName = "Creator",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 25,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_CreateTime".GetMD5Hash(),
                ColumnName = "CreateTime",
                DisplayName = "CreateTime",
                Description = "",
                DataType = "DateTime",
                ApplicationDataType = "Datetime",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 3,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 26,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_LastModifier".GetMD5Hash(),
                ColumnName = "LastModifier",
                DisplayName = "LastModifier",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 27,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_LastModifyTime".GetMD5Hash(),
                ColumnName = "LastModifyTime",
                DisplayName = "LastModifyTime",
                Description = "",
                DataType = "DateTime",
                ApplicationDataType = "Datetime",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 3,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 28,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_CloudServiceID".GetMD5Hash(),
                ColumnName = "CloudServiceID",
                DisplayName = "CloudServiceID",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 36,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 29,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_ISP".GetMD5Hash(),
                ColumnName = "ISP",
                DisplayName = "ISP",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 30,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_DepartID".GetMD5Hash(),
                ColumnName = "DepartID",
                DisplayName = "DepartID",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 31,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_Environment".GetMD5Hash(),
                ColumnName = "Environment",
                DisplayName = "Environment",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 32,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_servermachine_serviceSetID".GetMD5Hash(),
                ColumnName = "serviceSetID",
                DisplayName = "serviceSetID",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 33,
                EnableUnicode = true,
            });

            #endregion

            #region Relation

            #endregion
            return dataObject;
        }

        private DataObject do_programDataObject;
        /// <summary>
        /// 获取【DO_Program】数据对象
        /// </summary>
        public DataObject DO_ProgramDataObject
        {
            get
            {
                if (do_programDataObject == null)
                    do_programDataObject = CreateDO_ProgramDataObject();

                return do_programDataObject;
            }
        }


        /// <summary>
        /// 构建acm_program DataObject对象
        /// </summary>
        /// <returns></returns>
        private DataObject CreateDO_ProgramDataObject()
        {
            var dataObject = new DataObject
            {
                ID = "DO_TMaster_MSSQL_acm_program".GetMD5Hash(),
                Code = "DO_Program",
                Name = "DO_Program",
                LogicTableName = "acm_program",
                DatabaseID = "1d88e4b8ff88971f7031fc2b0991738c",
            };

            #region Columns

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_ID".GetMD5Hash(),
                ColumnName = "ID",
                DisplayName = "ID",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 36,
                Precision = 0,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = true,
                IsFkColumn = false,
                ColumnOrder = 0,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_Code".GetMD5Hash(),
                ColumnName = "Code",
                DisplayName = "Code",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 1,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_Name".GetMD5Hash(),
                ColumnName = "Name",
                DisplayName = "Name",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 2,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_ProcessName".GetMD5Hash(),
                ColumnName = "ProcessName",
                DisplayName = "ProcessName",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 3,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_Description".GetMD5Hash(),
                ColumnName = "Description",
                DisplayName = "Description",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 1000,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 4,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_Owner".GetMD5Hash(),
                ColumnName = "Owner",
                DisplayName = "Owner",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 36,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 5,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_AppID".GetMD5Hash(),
                ColumnName = "AppID",
                DisplayName = "AppID",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 36,
                Precision = 0,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 6,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_Type".GetMD5Hash(),
                ColumnName = "Type",
                DisplayName = "Type",
                Description = "",
                DataType = "Int",
                ApplicationDataType = "Int",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 10,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 7,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_SiteName".GetMD5Hash(),
                ColumnName = "SiteName",
                DisplayName = "SiteName",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 8,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_DotnetVersion".GetMD5Hash(),
                ColumnName = "DotnetVersion",
                DisplayName = "DotnetVersion",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 9,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_PhysicalPath".GetMD5Hash(),
                ColumnName = "PhysicalPath",
                DisplayName = "PhysicalPath",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 10,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_ApplicationPool".GetMD5Hash(),
                ColumnName = "ApplicationPool",
                DisplayName = "ApplicationPool",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 11,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_Port".GetMD5Hash(),
                ColumnName = "Port",
                DisplayName = "Port",
                Description = "",
                DataType = "Int",
                ApplicationDataType = "Int",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 10,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 12,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_CerdentialUser".GetMD5Hash(),
                ColumnName = "CerdentialUser",
                DisplayName = "CerdentialUser",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 13,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_CerdentialPwd".GetMD5Hash(),
                ColumnName = "CerdentialPwd",
                DisplayName = "CerdentialPwd",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 14,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_Ext1".GetMD5Hash(),
                ColumnName = "Ext1",
                DisplayName = "Ext1",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 15,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_Ext2".GetMD5Hash(),
                ColumnName = "Ext2",
                DisplayName = "Ext2",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 16,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_Ext3".GetMD5Hash(),
                ColumnName = "Ext3",
                DisplayName = "Ext3",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 17,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_Creator".GetMD5Hash(),
                ColumnName = "Creator",
                DisplayName = "Creator",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 128,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 18,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_CreateTime".GetMD5Hash(),
                ColumnName = "CreateTime",
                DisplayName = "CreateTime",
                Description = "",
                DataType = "DateTime",
                ApplicationDataType = "Datetime",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 3,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 19,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_LastModifier".GetMD5Hash(),
                ColumnName = "LastModifier",
                DisplayName = "LastModifier",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 256,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 20,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_LastModifyTime".GetMD5Hash(),
                ColumnName = "LastModifyTime",
                DisplayName = "LastModifyTime",
                Description = "",
                DataType = "DateTime",
                ApplicationDataType = "Datetime",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 3,
                DefaultValue = "",
                IsNullable = false,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 21,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_PackageInfo".GetMD5Hash(),
                ColumnName = "PackageInfo",
                DisplayName = "PackageInfo",
                Description = "",
                DataType = "Varchar",
                ApplicationDataType = "String",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = -1,
                Precision = 0,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 22,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_DeployLocation".GetMD5Hash(),
                ColumnName = "DeployLocation",
                DisplayName = "DeployLocation",
                Description = "",
                DataType = "Int",
                ApplicationDataType = "Int",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 10,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 23,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_Is3rd".GetMD5Hash(),
                ColumnName = "Is3rd",
                DisplayName = "Is3rd",
                Description = "",
                DataType = "Int",
                ApplicationDataType = "Int",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 10,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 24,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_IndependentDeploy".GetMD5Hash(),
                ColumnName = "IndependentDeploy",
                DisplayName = "IndependentDeploy",
                Description = "",
                DataType = "Int",
                ApplicationDataType = "Int",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 10,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 25,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_IsEnable".GetMD5Hash(),
                ColumnName = "IsEnable",
                DisplayName = "IsEnable",
                Description = "",
                DataType = "Int",
                ApplicationDataType = "Int",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 10,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 26,
                EnableUnicode = true,
            });

            dataObject.Columns.Add(new DataColumn()
            {
                DataObjectID = dataObject.ID,
                ID = "DO_TMaster_MSSQL_acm_program_IsStandardProduct".GetMD5Hash(),
                ColumnName = "IsStandardProduct",
                DisplayName = "IsStandardProduct",
                Description = "",
                DataType = "Int",
                ApplicationDataType = "Int",
                IsRefDataObject = false,
                RelatedDataObjectID = "",
                Length = 0,
                Precision = 10,
                DefaultValue = "",
                IsNullable = true,
                IsPkColumn = false,
                IsFkColumn = false,
                ColumnOrder = 27,
                EnableUnicode = true,
            });

            #endregion

            #region Relation

            #endregion
            return dataObject;
        }



        private CompositeDataObject cdo_clusternodehostCompositeDataObject;
        /// <summary>
        /// 获取集群节点模型 CompositeDataObject
        /// </summary>
        public CompositeDataObject CDO_ClusterNodeHostCompositeDataObject
        {
            get
            {
                if (cdo_clusternodehostCompositeDataObject == null)
                    cdo_clusternodehostCompositeDataObject = CreateCDO_ClusterNodeHostCompositeDataObject();

                return cdo_clusternodehostCompositeDataObject;
            }
        }


        /// <summary>
        /// 创建CDO_ClusterNodeHostCompositeDataObject
        /// </summary>
        /// <returns></returns>
        private CompositeDataObject CreateCDO_ClusterNodeHostCompositeDataObject()
        {

            var CompositeDataObject = new CompositeDataObject()
            {
                ID = "CDO_ClusterNodeHost".GetMD5Hash(),
                Code = "CDO_ClusterNodeHost",
                Name = "集群节点模型",
                DatabaseID = "1d88e4b8ff88971f7031fc2b0991738c",
                RootCompositeNodeObjectID = "08e0bf916af6057ddd3d606f49d07d0b",
                CompositeNodeObjects = new List<CompositeNodeObject>(),
            };



            var modelObjectDO_ApplicationClusterACM_ApplicationCluster = new CompositeNodeObject()
            {
                ID = "CNO_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationCluster_ACM_ApplicationCluster".GetMD5Hash(), //CNO id生成规则
                Name = "CNO_ACM_ApplicationCluster",
                CompositeDataObjectID = "CDO_ClusterNodeHost".GetMD5Hash(),
                IsRootObject = true,
                ParentObjectID = null,
                DataObjectID = "08e0bf916af6057ddd3d606f49d07d0b",

                //CompositeDataObject = CompositeDataObject,
                //DataObject = this.DO_ApplicationClusterDataObject,
            };

            #region Elements

            modelObjectDO_ApplicationClusterACM_ApplicationCluster.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationCluster_ID".GetMD5Hash(), //CNO id生成规则
                Name = "ID",
                Alias = "ID",
                DisplayName = "ID",
                CompositeNodeObjectID = modelObjectDO_ApplicationClusterACM_ApplicationCluster.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_ID".GetMD5Hash(),
                Length = 36,
                Precision = 0,
                IsAllowNull = false,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 0,
            });

            modelObjectDO_ApplicationClusterACM_ApplicationCluster.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationCluster_Code".GetMD5Hash(), //CNO id生成规则
                Name = "Code",
                Alias = "Code",
                DisplayName = "Code",
                CompositeNodeObjectID = modelObjectDO_ApplicationClusterACM_ApplicationCluster.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_Code".GetMD5Hash(),
                Length = 256,
                Precision = 0,
                IsAllowNull = false,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 1,
            });

            modelObjectDO_ApplicationClusterACM_ApplicationCluster.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationCluster_Name".GetMD5Hash(), //CNO id生成规则
                Name = "Name",
                Alias = "Name",
                DisplayName = "Name",
                CompositeNodeObjectID = modelObjectDO_ApplicationClusterACM_ApplicationCluster.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_Name".GetMD5Hash(),
                Length = 512,
                Precision = 0,
                IsAllowNull = false,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 2,
            });

            modelObjectDO_ApplicationClusterACM_ApplicationCluster.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationCluster_Owner".GetMD5Hash(), //CNO id生成规则
                Name = "Owner",
                Alias = "Owner",
                DisplayName = "Owner",
                CompositeNodeObjectID = modelObjectDO_ApplicationClusterACM_ApplicationCluster.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_Owner".GetMD5Hash(),
                Length = 36,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 3,
            });

            modelObjectDO_ApplicationClusterACM_ApplicationCluster.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationCluster_AppID".GetMD5Hash(), //CNO id生成规则
                Name = "AppID",
                Alias = "AppID",
                DisplayName = "AppID",
                CompositeNodeObjectID = modelObjectDO_ApplicationClusterACM_ApplicationCluster.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_AppID".GetMD5Hash(),
                Length = 36,
                Precision = 0,
                IsAllowNull = false,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 4,
            });

            modelObjectDO_ApplicationClusterACM_ApplicationCluster.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationCluster_IsEnable".GetMD5Hash(), //CNO id生成规则
                Name = "IsEnable",
                Alias = "IsEnable",
                DisplayName = "IsEnable",
                CompositeNodeObjectID = modelObjectDO_ApplicationClusterACM_ApplicationCluster.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_IsEnable".GetMD5Hash(),
                Length = 0,
                Precision = 10,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 5,
            });

            modelObjectDO_ApplicationClusterACM_ApplicationCluster.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationCluster_IsVirtual".GetMD5Hash(), //CNO id生成规则
                Name = "IsVirtual",
                Alias = "IsVirtual",
                DisplayName = "IsVirtual",
                CompositeNodeObjectID = modelObjectDO_ApplicationClusterACM_ApplicationCluster.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_IsVirtual".GetMD5Hash(),
                Length = 0,
                Precision = 10,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 6,
            });

            modelObjectDO_ApplicationClusterACM_ApplicationCluster.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationCluster_Ext1".GetMD5Hash(), //CNO id生成规则
                Name = "Ext1",
                Alias = "Ext1",
                DisplayName = "Ext1",
                CompositeNodeObjectID = modelObjectDO_ApplicationClusterACM_ApplicationCluster.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_Ext1".GetMD5Hash(),
                Length = 256,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 7,
            });

            modelObjectDO_ApplicationClusterACM_ApplicationCluster.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationCluster_Ext2".GetMD5Hash(), //CNO id生成规则
                Name = "Ext2",
                Alias = "Ext2",
                DisplayName = "Ext2",
                CompositeNodeObjectID = modelObjectDO_ApplicationClusterACM_ApplicationCluster.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_Ext2".GetMD5Hash(),
                Length = 256,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 8,
            });

            modelObjectDO_ApplicationClusterACM_ApplicationCluster.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationCluster_Ext3".GetMD5Hash(), //CNO id生成规则
                Name = "Ext3",
                Alias = "Ext3",
                DisplayName = "Ext3",
                CompositeNodeObjectID = modelObjectDO_ApplicationClusterACM_ApplicationCluster.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_Ext3".GetMD5Hash(),
                Length = 256,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 9,
            });

            modelObjectDO_ApplicationClusterACM_ApplicationCluster.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationCluster_Creator".GetMD5Hash(), //CNO id生成规则
                Name = "Creator",
                Alias = "Creator",
                DisplayName = "Creator",
                CompositeNodeObjectID = modelObjectDO_ApplicationClusterACM_ApplicationCluster.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_Creator".GetMD5Hash(),
                Length = 128,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 10,
            });

            modelObjectDO_ApplicationClusterACM_ApplicationCluster.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationCluster_CreateTime".GetMD5Hash(), //CNO id生成规则
                Name = "CreateTime",
                Alias = "CreateTime",
                DisplayName = "CreateTime",
                CompositeNodeObjectID = modelObjectDO_ApplicationClusterACM_ApplicationCluster.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_CreateTime".GetMD5Hash(),
                Length = 0,
                Precision = 3,
                IsAllowNull = false,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 11,
            });

            modelObjectDO_ApplicationClusterACM_ApplicationCluster.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationCluster_LastModifier".GetMD5Hash(), //CNO id生成规则
                Name = "LastModifier",
                Alias = "LastModifier",
                DisplayName = "LastModifier",
                CompositeNodeObjectID = modelObjectDO_ApplicationClusterACM_ApplicationCluster.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_LastModifier".GetMD5Hash(),
                Length = 128,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 12,
            });

            modelObjectDO_ApplicationClusterACM_ApplicationCluster.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationCluster_LastModifyTime".GetMD5Hash(), //CNO id生成规则
                Name = "LastModifyTime",
                Alias = "LastModifyTime",
                DisplayName = "LastModifyTime",
                CompositeNodeObjectID = modelObjectDO_ApplicationClusterACM_ApplicationCluster.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_LastModifyTime".GetMD5Hash(),
                Length = 0,
                Precision = 3,
                IsAllowNull = false,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 13,
            });

            modelObjectDO_ApplicationClusterACM_ApplicationCluster.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationCluster_ClusterType".GetMD5Hash(), //CNO id生成规则
                Name = "ClusterType",
                Alias = "ClusterType",
                DisplayName = "ClusterType",
                CompositeNodeObjectID = modelObjectDO_ApplicationClusterACM_ApplicationCluster.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_ClusterType".GetMD5Hash(),
                Length = 36,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 14,
            });

            modelObjectDO_ApplicationClusterACM_ApplicationCluster.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationCluster_ServiceSetID".GetMD5Hash(), //CNO id生成规则
                Name = "ServiceSetID",
                Alias = "ServiceSetID",
                DisplayName = "ServiceSetID",
                CompositeNodeObjectID = modelObjectDO_ApplicationClusterACM_ApplicationCluster.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_ServiceSetID".GetMD5Hash(),
                Length = 128,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 15,
            });

            modelObjectDO_ApplicationClusterACM_ApplicationCluster.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationCluster_ClusterName".GetMD5Hash(), //CNO id生成规则
                Name = "ClusterName",
                Alias = "ClusterName",
                DisplayName = "ClusterName",
                CompositeNodeObjectID = modelObjectDO_ApplicationClusterACM_ApplicationCluster.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationCluster_ClusterName".GetMD5Hash(),
                Length = 512,
                Precision = 0,
                IsAllowNull = false,
                ElementType = ElementType.Reference,
                DataType = DataType.String,
                Sort = 99,
            });

            #endregion


            var ACM_ApplicationClusterAsso0 = new Association()
            {
                ID = "c37d1e16-572b-4752-b86e-76b466a424ad", //CNO id生成规则
                Name = "ACM_ApplicationClusterAssociation",
                AssociateType = AssociateType.OuterLeftJoin,

                CompositeDataObjectID = "CDO_ClusterNodeHost".GetMD5Hash(),
                CompositeNodeObjectID = modelObjectDO_ApplicationClusterACM_ApplicationCluster.ID,
                AssoCompositeDataObjectID = "", //主子关联CDO.id相同
                AssoCompositeNodeObjectID = "", //CNO id生成规则
                AssoDataObjectID = "347eeeb5fb2821b2ee1672099875a778", //主子关联不用填
            };

            //AssociationItem片段

            //外键关联Item
            ACM_ApplicationClusterAsso0.Items.Add(new AssociateItem()
            {
                AssociationID = "c37d1e16-572b-4752-b86e-76b466a424ad",
                ID = Guid.NewGuid().ToString(),
                SourceElementID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationCluster_ClusterType".GetMD5Hash(),
                TargetElementID = "DO_TMaster_MSSQL_ACM_ApplicationClusterType_ID".GetMD5Hash(),

            });


            //AssociationRefElement片段

            ACM_ApplicationClusterAsso0.RefElements.Add(new AssociationRefElement
            {
                ID = Guid.NewGuid().ToString(), //item.id
                DataObjectID = "347eeeb5fb2821b2ee1672099875a778", //外键关联数据对象id
                SourceElementID = "fdd587ce598eae17590a16e7073c98d1", //外键关联数据对象列id
                TargetElementID = modelObjectDO_ApplicationClusterACM_ApplicationCluster.Elements.Find(ele => ele.Name == "ClusterName").ID, //主模型节点展示用虚拟列id
                AssociationID = "c37d1e16-572b-4752-b86e-76b466a424ad",
            });


            modelObjectDO_ApplicationClusterACM_ApplicationCluster.Associations.Add(ACM_ApplicationClusterAsso0);


            CompositeDataObject.CompositeNodeObjects.Add(modelObjectDO_ApplicationClusterACM_ApplicationCluster);
            CompositeDataObject.RootCompositeNodeObject = modelObjectDO_ApplicationClusterACM_ApplicationCluster;

            var modelObjectDO_ApplicationNodeACM_ApplicationNode1 = new CompositeNodeObject()
            {
                ID = "CNO_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationNode_ACM_ApplicationNode1".GetMD5Hash(), //CNO id生成规则
                Name = "CNO_ACM_ApplicationNode",
                CompositeDataObjectID = "CDO_ClusterNodeHost".GetMD5Hash(),
                IsRootObject = false,
                ParentObjectID = "905806f534cca3cd1010890aa07d95a9",
                DataObjectID = "54bf03ab47c111880c7e7dda941e9701",

                //CompositeDataObject = CompositeDataObject,
                //DataObject = this.DO_ApplicationNodeDataObject,
            };

            #region Elements

            modelObjectDO_ApplicationNodeACM_ApplicationNode1.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationNode_ID".GetMD5Hash(), //CNO id生成规则
                Name = "ID",
                Alias = "ID",
                DisplayName = "ID",
                CompositeNodeObjectID = modelObjectDO_ApplicationNodeACM_ApplicationNode1.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationNode_ID".GetMD5Hash(),
                Length = 36,
                Precision = 0,
                IsAllowNull = false,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 0,
            });

            modelObjectDO_ApplicationNodeACM_ApplicationNode1.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationNode_Code".GetMD5Hash(), //CNO id生成规则
                Name = "Code",
                Alias = "Code",
                DisplayName = "Code",
                CompositeNodeObjectID = modelObjectDO_ApplicationNodeACM_ApplicationNode1.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationNode_Code".GetMD5Hash(),
                Length = 256,
                Precision = 0,
                IsAllowNull = false,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 1,
            });

            modelObjectDO_ApplicationNodeACM_ApplicationNode1.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationNode_Name".GetMD5Hash(), //CNO id生成规则
                Name = "Name",
                Alias = "Name",
                DisplayName = "Name",
                CompositeNodeObjectID = modelObjectDO_ApplicationNodeACM_ApplicationNode1.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationNode_Name".GetMD5Hash(),
                Length = 512,
                Precision = 0,
                IsAllowNull = false,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 2,
            });

            modelObjectDO_ApplicationNodeACM_ApplicationNode1.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationNode_ClusterID".GetMD5Hash(), //CNO id生成规则
                Name = "ClusterID",
                Alias = "ClusterID",
                DisplayName = "ClusterID",
                CompositeNodeObjectID = modelObjectDO_ApplicationNodeACM_ApplicationNode1.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationNode_ClusterID".GetMD5Hash(),
                Length = 36,
                Precision = 0,
                IsAllowNull = false,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 3,
            });

            modelObjectDO_ApplicationNodeACM_ApplicationNode1.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationNode_Owner".GetMD5Hash(), //CNO id生成规则
                Name = "Owner",
                Alias = "Owner",
                DisplayName = "Owner",
                CompositeNodeObjectID = modelObjectDO_ApplicationNodeACM_ApplicationNode1.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationNode_Owner".GetMD5Hash(),
                Length = 36,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 4,
            });

            modelObjectDO_ApplicationNodeACM_ApplicationNode1.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationNode_IsEnable".GetMD5Hash(), //CNO id生成规则
                Name = "IsEnable",
                Alias = "IsEnable",
                DisplayName = "IsEnable",
                CompositeNodeObjectID = modelObjectDO_ApplicationNodeACM_ApplicationNode1.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationNode_IsEnable".GetMD5Hash(),
                Length = 0,
                Precision = 10,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 5,
            });

            modelObjectDO_ApplicationNodeACM_ApplicationNode1.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationNode_IsVirtual".GetMD5Hash(), //CNO id生成规则
                Name = "IsVirtual",
                Alias = "IsVirtual",
                DisplayName = "IsVirtual",
                CompositeNodeObjectID = modelObjectDO_ApplicationNodeACM_ApplicationNode1.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationNode_IsVirtual".GetMD5Hash(),
                Length = 0,
                Precision = 10,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 6,
            });

            modelObjectDO_ApplicationNodeACM_ApplicationNode1.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationNode_ResourceID".GetMD5Hash(), //CNO id生成规则
                Name = "ResourceID",
                Alias = "ResourceID",
                DisplayName = "ResourceID",
                CompositeNodeObjectID = modelObjectDO_ApplicationNodeACM_ApplicationNode1.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationNode_ResourceID".GetMD5Hash(),
                Length = 36,
                Precision = 0,
                IsAllowNull = false,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 7,
            });

            modelObjectDO_ApplicationNodeACM_ApplicationNode1.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationNode_Ext1".GetMD5Hash(), //CNO id生成规则
                Name = "Ext1",
                Alias = "Ext1",
                DisplayName = "Ext1",
                CompositeNodeObjectID = modelObjectDO_ApplicationNodeACM_ApplicationNode1.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationNode_Ext1".GetMD5Hash(),
                Length = 256,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 8,
            });

            modelObjectDO_ApplicationNodeACM_ApplicationNode1.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationNode_Ext2".GetMD5Hash(), //CNO id生成规则
                Name = "Ext2",
                Alias = "Ext2",
                DisplayName = "Ext2",
                CompositeNodeObjectID = modelObjectDO_ApplicationNodeACM_ApplicationNode1.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationNode_Ext2".GetMD5Hash(),
                Length = 256,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 9,
            });

            modelObjectDO_ApplicationNodeACM_ApplicationNode1.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationNode_Ext3".GetMD5Hash(), //CNO id生成规则
                Name = "Ext3",
                Alias = "Ext3",
                DisplayName = "Ext3",
                CompositeNodeObjectID = modelObjectDO_ApplicationNodeACM_ApplicationNode1.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationNode_Ext3".GetMD5Hash(),
                Length = 256,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 10,
            });

            modelObjectDO_ApplicationNodeACM_ApplicationNode1.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationNode_Creator".GetMD5Hash(), //CNO id生成规则
                Name = "Creator",
                Alias = "Creator",
                DisplayName = "Creator",
                CompositeNodeObjectID = modelObjectDO_ApplicationNodeACM_ApplicationNode1.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationNode_Creator".GetMD5Hash(),
                Length = 128,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 11,
            });

            modelObjectDO_ApplicationNodeACM_ApplicationNode1.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationNode_CreateTime".GetMD5Hash(), //CNO id生成规则
                Name = "CreateTime",
                Alias = "CreateTime",
                DisplayName = "CreateTime",
                CompositeNodeObjectID = modelObjectDO_ApplicationNodeACM_ApplicationNode1.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationNode_CreateTime".GetMD5Hash(),
                Length = 0,
                Precision = 3,
                IsAllowNull = false,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 12,
            });

            modelObjectDO_ApplicationNodeACM_ApplicationNode1.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationNode_LastModifier".GetMD5Hash(), //CNO id生成规则
                Name = "LastModifier",
                Alias = "LastModifier",
                DisplayName = "LastModifier",
                CompositeNodeObjectID = modelObjectDO_ApplicationNodeACM_ApplicationNode1.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationNode_LastModifier".GetMD5Hash(),
                Length = 128,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 13,
            });

            modelObjectDO_ApplicationNodeACM_ApplicationNode1.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationNode_LastModifyTime".GetMD5Hash(), //CNO id生成规则
                Name = "LastModifyTime",
                Alias = "LastModifyTime",
                DisplayName = "LastModifyTime",
                CompositeNodeObjectID = modelObjectDO_ApplicationNodeACM_ApplicationNode1.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationNode_LastModifyTime".GetMD5Hash(),
                Length = 0,
                Precision = 3,
                IsAllowNull = false,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 14,
            });

            modelObjectDO_ApplicationNodeACM_ApplicationNode1.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationNode_ServiceSetId".GetMD5Hash(), //CNO id生成规则
                Name = "ServiceSetId",
                Alias = "ServiceSetId",
                DisplayName = "ServiceSetId",
                CompositeNodeObjectID = modelObjectDO_ApplicationNodeACM_ApplicationNode1.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationNode_ServiceSetId".GetMD5Hash(),
                Length = 128,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 15,
            });

            modelObjectDO_ApplicationNodeACM_ApplicationNode1.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationNode_MachineHostName".GetMD5Hash(), //CNO id生成规则
                Name = "MachineHostName",
                Alias = "MachineHostName",
                DisplayName = "MachineHostName",
                CompositeNodeObjectID = modelObjectDO_ApplicationNodeACM_ApplicationNode1.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationNode_MachineHostName".GetMD5Hash(),
                Length = 256,
                Precision = 0,
                IsAllowNull = false,
                ElementType = ElementType.Reference,
                DataType = DataType.String,
                Sort = 99,
            });

            #endregion


            var ACM_ApplicationNode1Asso0 = new Association()
            {
                ID = "c5903f42-3482-49dd-80f7-16b83b437ce7", //CNO id生成规则
                Name = "ACM_ApplicationNode1Association",
                AssociateType = AssociateType.InnerJoin,

                CompositeDataObjectID = "CDO_ClusterNodeHost".GetMD5Hash(),
                CompositeNodeObjectID = modelObjectDO_ApplicationNodeACM_ApplicationNode1.ID,
                AssoCompositeDataObjectID = "ec082e5e587c0d8e052716345437cde1", //主子关联CDO.id相同
                AssoCompositeNodeObjectID = "905806f534cca3cd1010890aa07d95a9", //CNO id生成规则
                AssoDataObjectID = "", //主子关联不用填
            };

            //AssociationItem片段

            //主子关联item
            ACM_ApplicationNode1Asso0.Items.Add(new AssociateItem()
            {
                AssociationID = "c5903f42-3482-49dd-80f7-16b83b437ce7",
                ID = Guid.NewGuid().ToString(),
                //人员表 inner join 部门表为例：
                //SourceElementID=子表（部门表）外键，TargetElementID=主表（人员表）主键。
                //人员表 left join 部门表为例：
                //SourceElementID=主表（人员表）主键，TargetElementID=子表（部门表）外键。
                SourceElementID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationNode_ClusterID".GetMD5Hash(),
                //子表主键，如果关联对象CDO不存在，这里需要手动修改
                TargetElementID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationCluster_ID".GetMD5Hash(),
            });


            //AssociationRefElement片段


            modelObjectDO_ApplicationNodeACM_ApplicationNode1.Associations.Add(ACM_ApplicationNode1Asso0);

            var ACM_ApplicationNode1Asso1 = new Association()
            {
                ID = "a36358b1-fecd-4dab-95f6-c041c97416b1", //CNO id生成规则
                Name = "ACM_ApplicationNode1Association",
                AssociateType = AssociateType.OuterLeftJoin,

                CompositeDataObjectID = "CDO_ClusterNodeHost".GetMD5Hash(),
                CompositeNodeObjectID = modelObjectDO_ApplicationNodeACM_ApplicationNode1.ID,
                AssoCompositeDataObjectID = "", //主子关联CDO.id相同
                AssoCompositeNodeObjectID = "", //CNO id生成规则
                AssoDataObjectID = "9da0c5496a82f7abb3db1af217aef44d", //主子关联不用填
            };

            //AssociationItem片段

            //外键关联Item
            ACM_ApplicationNode1Asso1.Items.Add(new AssociateItem()
            {
                AssociationID = "a36358b1-fecd-4dab-95f6-c041c97416b1",
                ID = Guid.NewGuid().ToString(),
                SourceElementID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationNode_ResourceID".GetMD5Hash(),
                TargetElementID = "DO_TMaster_MSSQL_acm_servermachine_ID".GetMD5Hash(),

            });


            //AssociationRefElement片段

            ACM_ApplicationNode1Asso1.RefElements.Add(new AssociationRefElement
            {
                ID = Guid.NewGuid().ToString(), //item.id
                DataObjectID = "9da0c5496a82f7abb3db1af217aef44d", //外键关联数据对象id
                SourceElementID = "ef8a61f0d8f76b5da939a9898236c7b4", //外键关联数据对象列id
                TargetElementID = modelObjectDO_ApplicationNodeACM_ApplicationNode1.Elements.Find(ele => ele.Name == "MachineHostName").ID, //主模型节点展示用虚拟列id
                AssociationID = "a36358b1-fecd-4dab-95f6-c041c97416b1",
            });


            modelObjectDO_ApplicationNodeACM_ApplicationNode1.Associations.Add(ACM_ApplicationNode1Asso1);


            CompositeDataObject.CompositeNodeObjects.Add(modelObjectDO_ApplicationNodeACM_ApplicationNode1);


            var modelObjectDO_ApplicationHostACM_ApplicationHost = new CompositeNodeObject()
            {
                ID = "CNO_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_ACM_ApplicationHost".GetMD5Hash(), //CNO id生成规则
                Name = "CNO_ACM_ApplicationHost",
                CompositeDataObjectID = "CDO_ClusterNodeHost".GetMD5Hash(),
                IsRootObject = false,
                ParentObjectID = "57993d314b15e772348611960870822e",
                DataObjectID = "dd35078935f3efe03a18085cdc0266f7",

                //CompositeDataObject = CompositeDataObject,
                //DataObject = this.DO_ApplicationHostDataObject,
            };

            #region Elements

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_ID".GetMD5Hash(), //CNO id生成规则
                Name = "ID",
                Alias = "ID",
                DisplayName = "ID",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_ID".GetMD5Hash(),
                Length = 36,
                Precision = 0,
                IsAllowNull = false,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 0,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_Code".GetMD5Hash(), //CNO id生成规则
                Name = "Code",
                Alias = "Code",
                DisplayName = "Code",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_Code".GetMD5Hash(),
                Length = 256,
                Precision = 0,
                IsAllowNull = false,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 1,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_Name".GetMD5Hash(), //CNO id生成规则
                Name = "Name",
                Alias = "Name",
                DisplayName = "Name",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_Name".GetMD5Hash(),
                Length = 512,
                Precision = 0,
                IsAllowNull = false,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 2,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_ClusterID".GetMD5Hash(), //CNO id生成规则
                Name = "ClusterID",
                Alias = "ClusterID",
                DisplayName = "ClusterID",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_ClusterID".GetMD5Hash(),
                Length = 36,
                Precision = 0,
                IsAllowNull = false,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 3,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_NodeID".GetMD5Hash(), //CNO id生成规则
                Name = "NodeID",
                Alias = "NodeID",
                DisplayName = "NodeID",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_NodeID".GetMD5Hash(),
                Length = 36,
                Precision = 0,
                IsAllowNull = false,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 4,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_IsEnableWhiteList".GetMD5Hash(), //CNO id生成规则
                Name = "IsEnableWhiteList",
                Alias = "IsEnableWhiteList",
                DisplayName = "IsEnableWhiteList",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_IsEnableWhiteList".GetMD5Hash(),
                Length = 0,
                Precision = 10,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 5,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_WhiteList".GetMD5Hash(), //CNO id生成规则
                Name = "WhiteList",
                Alias = "WhiteList",
                DisplayName = "WhiteList",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_WhiteList".GetMD5Hash(),
                Length = 2000,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 6,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_LBWeight".GetMD5Hash(), //CNO id生成规则
                Name = "LBWeight",
                Alias = "LBWeight",
                DisplayName = "LBWeight",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_LBWeight".GetMD5Hash(),
                Length = 0,
                Precision = 10,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 7,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_IsEnable".GetMD5Hash(), //CNO id生成规则
                Name = "IsEnable",
                Alias = "IsEnable",
                DisplayName = "IsEnable",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_IsEnable".GetMD5Hash(),
                Length = 0,
                Precision = 10,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 8,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_Owner".GetMD5Hash(), //CNO id生成规则
                Name = "Owner",
                Alias = "Owner",
                DisplayName = "Owner",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_Owner".GetMD5Hash(),
                Length = 36,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 9,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_Port".GetMD5Hash(), //CNO id生成规则
                Name = "Port",
                Alias = "Port",
                DisplayName = "Port",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_Port".GetMD5Hash(),
                Length = 0,
                Precision = 10,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 10,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_HostIPAddress".GetMD5Hash(), //CNO id生成规则
                Name = "HostIPAddress",
                Alias = "HostIPAddress",
                DisplayName = "HostIPAddress",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_HostIPAddress".GetMD5Hash(),
                Length = 128,
                Precision = 0,
                IsAllowNull = false,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 11,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_Ext1".GetMD5Hash(), //CNO id生成规则
                Name = "Ext1",
                Alias = "Ext1",
                DisplayName = "Ext1",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_Ext1".GetMD5Hash(),
                Length = 256,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 12,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_Ext2".GetMD5Hash(), //CNO id生成规则
                Name = "Ext2",
                Alias = "Ext2",
                DisplayName = "Ext2",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_Ext2".GetMD5Hash(),
                Length = 256,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 13,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_Ext3".GetMD5Hash(), //CNO id生成规则
                Name = "Ext3",
                Alias = "Ext3",
                DisplayName = "Ext3",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_Ext3".GetMD5Hash(),
                Length = 256,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 14,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_Creator".GetMD5Hash(), //CNO id生成规则
                Name = "Creator",
                Alias = "Creator",
                DisplayName = "Creator",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_Creator".GetMD5Hash(),
                Length = 128,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 15,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_CreateTime".GetMD5Hash(), //CNO id生成规则
                Name = "CreateTime",
                Alias = "CreateTime",
                DisplayName = "CreateTime",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_CreateTime".GetMD5Hash(),
                Length = 0,
                Precision = 3,
                IsAllowNull = false,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 16,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_LastModifier".GetMD5Hash(), //CNO id生成规则
                Name = "LastModifier",
                Alias = "LastModifier",
                DisplayName = "LastModifier",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_LastModifier".GetMD5Hash(),
                Length = 128,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 17,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_LastModifyTime".GetMD5Hash(), //CNO id生成规则
                Name = "LastModifyTime",
                Alias = "LastModifyTime",
                DisplayName = "LastModifyTime",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_LastModifyTime".GetMD5Hash(),
                Length = 0,
                Precision = 3,
                IsAllowNull = false,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 18,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_ApplicationID".GetMD5Hash(), //CNO id生成规则
                Name = "ApplicationID",
                Alias = "ApplicationID",
                DisplayName = "ApplicationID",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_ApplicationID".GetMD5Hash(),
                Length = 128,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 19,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_PhysicalPath".GetMD5Hash(), //CNO id生成规则
                Name = "PhysicalPath",
                Alias = "PhysicalPath",
                DisplayName = "PhysicalPath",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_PhysicalPath".GetMD5Hash(),
                Length = 256,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 20,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_SiteName".GetMD5Hash(), //CNO id生成规则
                Name = "SiteName",
                Alias = "SiteName",
                DisplayName = "SiteName",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_SiteName".GetMD5Hash(),
                Length = 256,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 21,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_ApplicationPool".GetMD5Hash(), //CNO id生成规则
                Name = "ApplicationPool",
                Alias = "ApplicationPool",
                DisplayName = "ApplicationPool",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_ApplicationPool".GetMD5Hash(),
                Length = 256,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 22,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_AutoRun".GetMD5Hash(), //CNO id生成规则
                Name = "AutoRun",
                Alias = "AutoRun",
                DisplayName = "AutoRun",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_AutoRun".GetMD5Hash(),
                Length = 0,
                Precision = 10,
                IsAllowNull = true,
                ElementType = ElementType.Normal,
                DataType = DataType.String,
                Sort = 23,
            });

            modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Add(new CompositeNodeObjectElement()
            {
                ID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_ApplicationName".GetMD5Hash(), //CNO id生成规则
                Name = "ApplicationName",
                Alias = "ApplicationName",
                DisplayName = "ApplicationName",
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                DataColumnID = "DO_TMaster_MSSQL_ACM_ApplicationHost_ApplicationName".GetMD5Hash(),
                Length = 256,
                Precision = 0,
                IsAllowNull = true,
                ElementType = ElementType.Reference,
                DataType = DataType.String,
                Sort = 99,
            });

            #endregion


            var ACM_ApplicationHostAsso0 = new Association()
            {
                ID = "8bff7719-98cd-4ded-93c3-8de0c9db3e67", //CNO id生成规则
                Name = "ACM_ApplicationHostAssociation",
                AssociateType = AssociateType.InnerJoin,

                CompositeDataObjectID = "CDO_ClusterNodeHost".GetMD5Hash(),
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                AssoCompositeDataObjectID = "ec082e5e587c0d8e052716345437cde1", //主子关联CDO.id相同
                AssoCompositeNodeObjectID = "57993d314b15e772348611960870822e", //CNO id生成规则
                AssoDataObjectID = "", //主子关联不用填
            };

            //AssociationItem片段

            //主子关联item
            ACM_ApplicationHostAsso0.Items.Add(new AssociateItem()
            {
                AssociationID = "8bff7719-98cd-4ded-93c3-8de0c9db3e67",
                ID = Guid.NewGuid().ToString(),
                //人员表 inner join 部门表为例：
                //SourceElementID=子表（部门表）外键，TargetElementID=主表（人员表）主键。
                //人员表 left join 部门表为例：
                //SourceElementID=主表（人员表）主键，TargetElementID=子表（部门表）外键。
                SourceElementID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_NodeID".GetMD5Hash(),
                //子表主键，如果关联对象CDO不存在，这里需要手动修改
                TargetElementID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationNode_ID".GetMD5Hash(),
            });


            //AssociationRefElement片段


            modelObjectDO_ApplicationHostACM_ApplicationHost.Associations.Add(ACM_ApplicationHostAsso0);

            var ACM_ApplicationHostAsso1 = new Association()
            {
                ID = "cbe86945-385e-44fc-b6c0-862707246b59", //CNO id生成规则
                Name = "ACM_ApplicationHostAssociation",
                AssociateType = AssociateType.OuterLeftJoin,

                CompositeDataObjectID = "CDO_ClusterNodeHost".GetMD5Hash(),
                CompositeNodeObjectID = modelObjectDO_ApplicationHostACM_ApplicationHost.ID,
                AssoCompositeDataObjectID = "", //主子关联CDO.id相同
                AssoCompositeNodeObjectID = "", //CNO id生成规则
                AssoDataObjectID = "5c8a1a93d9bcb3a9c2ec3a921738670a", //主子关联不用填
            };

            //AssociationItem片段

            //外键关联Item
            ACM_ApplicationHostAsso1.Items.Add(new AssociateItem()
            {
                AssociationID = "cbe86945-385e-44fc-b6c0-862707246b59",
                ID = Guid.NewGuid().ToString(),
                SourceElementID = "CNOEle_TMaster_MSSQL_CDO_ClusterNodeHost_DO_ApplicationHost_ApplicationID".GetMD5Hash(),
                TargetElementID = "DO_TMaster_MSSQL_acm_program_ID".GetMD5Hash(),

            });


            //AssociationRefElement片段

            ACM_ApplicationHostAsso1.RefElements.Add(new AssociationRefElement
            {
                ID = Guid.NewGuid().ToString(), //item.id
                DataObjectID = "5c8a1a93d9bcb3a9c2ec3a921738670a", //外键关联数据对象id
                SourceElementID = "16e7b69b94f98cf75c0ffe62d4fe5b96", //外键关联数据对象列id
                TargetElementID = modelObjectDO_ApplicationHostACM_ApplicationHost.Elements.Find(ele => ele.Name == "ApplicationName").ID, //主模型节点展示用虚拟列id
                AssociationID = "cbe86945-385e-44fc-b6c0-862707246b59",
            });


            modelObjectDO_ApplicationHostACM_ApplicationHost.Associations.Add(ACM_ApplicationHostAsso1);


            CompositeDataObject.CompositeNodeObjects.Add(modelObjectDO_ApplicationHostACM_ApplicationHost);



            return CompositeDataObject;
        }


        //{init_func}

        //{curd_func}
    }
}
